HandStack으로 첫 프로젝트 실행하기

Windows에서 빌드·게시·실행을 구분하고, 브라우저의 변경 결과까지 확인합니다.

QCN

프로젝트 빌드하기 (1/2)

내 컴퓨터에 개발 환경 꾸미기 에서 설치 과정에서 install.bat 스크립트가 실행 되면 호스트에 HANDSTACK_SRC, HANDSTACK_HOME 환경변수가 설정됩니다.

  • 먼저 프로젝트 소스 코드를 빌드하여 컴파일합니다.

  • HandStack 소스 디렉토리로 이동하여 build.bat 명령어를 실행합니다.

  • Debug 빌드 결과를 만든 뒤 오류 없이 완료됐는지 확인합니다.

QCN

프로젝트 빌드하기 (2/2)

cd %HANDSTACK_SRC%
build.bat
QCN

프로젝트 게시(Publish)하기 (1/2)

  • 빌드가 완료되면, 운영 환경에 적합한 실행 가능한 형태로 배포 파일을 생성합니다.

  • HandStack은 다양한 운영체제와 환경에 맞춰 게시할 수 있는 publish.bat 스크립트를 제공합니다.

QCN

프로젝트 게시(Publish)하기 (2/2)

cd %HANDSTACK_SRC%

# publish.bat [운영체제] [빌드설정] [빌드구성] [아키텍처]
publish.bat win build Debug x64
publish.bat linux build Debug x64
publish.bat osx build Debug x64

publish.bat linux publish Release x64
publish.bat osx publish Release x64
publish.bat win publish Release x64
QCN

ack 서버 실행하기

  • 게시가 완료되면 결과물이 생성된 디렉토리로 이동합니다.
    • cd %HANDSTACK_SRC%/../publish/[운영체제 ID]/handstack
  • 이제 ack 서버를 실행하여 웹 애플리케이션을 시작합니다.
  • 운영체제에 맞는 명령어를 사용하세요.
cd %HANDSTACK_SRC%/../publish/[운영체제 ID]/handstack

# install.bat 은 처음 한번 실행해야 합니다.
# install.bat

cd app
ack.exe
QCN

브라우저에서 확인하기

  • 서버가 성공적으로 실행되면 명령 프롬프트에 접속 주소가 표시됩니다.
  • 웹 브라우저를 열고 해당 주소로 접속합니다. (기본값: http://localhost:8421)
http://localhost:8421
  • "hello syn !" 메시지가 보이면 성공적으로 실행된 것입니다.
QCN

개발 서버 종료하기

  • 서버를 실행한 명령 프롬프트 창에서 Ctrl 키와 C 키를 함께 눌러 개발 서버를 종료할 수 있습니다.
Ctrl + C
QCN

핸즈온: 첫 프로젝트 실행 (1/2)

아래 명령은 Windows 명령 프롬프트(CMD) 기준입니다. 환경 변수와 결과물 경로를 확인한 뒤 실행합니다.

  1. cd %HANDSTACK_SRC%

  2. build.bat

  3. publish.bat win build Debug x64

  4. cd %HANDSTACK_SRC%/../publish/win-x64/handstack/app

  5. ack.exe

QCN

핸즈온: 첫 프로젝트 실행 (2/2)

  1. 브라우저에서 http://localhost:8421 접속

  2. Ctrl+C 로 종료

QCN

잠깐, 구분해 보기

소스를 수정했는데 화면이 그대로라면 어느 디렉토리를 먼저 확인할까요?

QCN

HandStack 에서는 컴파일 디렉토리를 구분합니다

cd %HANDSTACK_SRC%/.. 로 이동하면 build, publish 디렉토리가 있습니다.

  • build: 개발 중 코드 검증 및 디버깅 결과물 위치로 개발 머신에서만 실행하는 것을 권장
  • publish: 배포 가능한 완전한 애플리케이션 패키지 생성 결과물 위치로 운영체제에 맞는 출력 디렉토리

개발할 때는 build, 배포할 때는 publish를 사용하여 각각의 목적에 맞는 최적화된 결과물을 얻을 수 있습니다!

QCN

첫 웹 페이지 수정하기: 나만의 환영 메시지 만들기

wwwroot 모듈의 코드를 직접 수정하고 결과를 브라우저에서 확인합니다.

  1. wwwroot 모듈의 웹 루트 디렉토리로 이동합니다.

    • $(HANDSTACK_SRC)/2.Modules/wwwroot/wwwroot
  2. module.html 파일의 내용을 수정합니다.

    • "hello module wwwroot" -> "Welcome to HandStack!"
  3. 수정 파일을 현재 실행 중인 배포본에 반영한 뒤 웹 브라우저에서 확인합니다.

    • http://localhost:8421/module.html
QCN

각 모듈의 기본 페이지 확인하기

http://localhost:8421/[모듈 ID]/module.html

HandStack은 웹 개발 프레임워크 기능을 제공하는 업무 모듈을 다음과 같이 제공합니다.

module명 설명
checkup 태넌트 앱 개발 및 운영 기능 관리
dbclient SQL Server, Oracle, MySQL & MariaDB, PostgreSQL, SQLite SQL을 관리
function C# 또는 Node.js 기반 Function 개발 기능 관리
repository 단일, 다중, 이미지, 첨부파일 등등 파일 업로드/다운로드 관리
transact 거래 요청 검증 및 접근 제어 관리와 요청 정보를 dbclient, function 등등 module로 라우팅 기능 관리
logger module 요청/응답 구간 주요 이벤트 로그 수집 관리
wwwroot 웹 공통 static assets 및 화면 단위 소스 호스팅 관리
QCN

직접 확인할 결과

  • ack의 실행 경로와 포트를 기록합니다.
  • module.html의 문구를 바꾸고 브라우저에서 확인합니다.
  • 서버를 종료한 뒤 같은 절차로 다시 실행할 수 있어야 합니다.
QCN

발표: 첫 화면의 목표를 말한 뒤 핵심 개념과 예제로 진행합니다. 확인 질문 뒤에는 답할 시간을 주고, 마지막 완료 기준을 남겨 질문을 받습니다. 발표 구성 참고: MIT OpenCourseWare, Patrick Winston, How to Speak (2018), https://ocw.mit.edu/courses/res-tll-005-how-to-speak-january-iap-2018/pages/how-to-speak/

질문 후 잠시 기다립니다. 답이 없으면 앞에서 본 예제를 다시 가리킵니다. 확인할 답: 현재 ack가 실행하는 build 또는 publish 경로와 수정한 소스의 복사 경로를 비교합니다. 다음 주제로 넘어가기 전에 차이를 청중의 표현으로 한 번 확인합니다.

질문을 받는 동안 이 확인 기준을 화면에 남깁니다. 청중이 자신의 업무에 적용할 다음 행동 하나를 고르게 합니다.